bitkeeper revision 1.1389.15.8 (4281bcbaUAXd-mXY9bU_xjLtHjFVJg)
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 11 May 2005 08:05:14 +0000 (08:05 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 11 May 2005 08:05:14 +0000 (08:05 +0000)
Xen parses IOAPIC entries in the ACPI MADT.
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/arch/x86/acpi/boot.c

index 7237d5e7e25b5dc589fdb05a312efe1d95a5deb6..c8525bce642c997200bef10b5d89159d2990a264 100644 (file)
@@ -37,7 +37,9 @@
 #include <asm/irq.h>
 #include <asm/mpspec.h>
 
-int sbf_port; /* XXX XEN */
+int sbf_port;
+#define end_pfn_map max_page
+#define CONFIG_ACPI_PCI
 
 #ifdef CONFIG_X86_64
 
@@ -109,7 +111,7 @@ char *__acpi_map_table(unsigned long phys_addr, unsigned long size)
        if (!phys_addr || !size)
        return NULL;
 
-       if (phys_addr < (max_page << PAGE_SHIFT))
+       if (phys_addr < (end_pfn_map << PAGE_SHIFT))
                return __va(phys_addr);
 
        return NULL;
@@ -279,7 +281,7 @@ acpi_parse_lapic_nmi (
 
 #endif /*CONFIG_X86_LOCAL_APIC*/
 
-#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
+#if defined(CONFIG_X86_IO_APIC) /*&& defined(CONFIG_ACPI_INTERPRETER)*/
 
 static int __init
 acpi_parse_ioapic (
@@ -302,6 +304,7 @@ acpi_parse_ioapic (
        return 0;
 }
 
+#ifdef CONFIG_ACPI_INTERPRETER
 /*
  * Parse Interrupt Source Override for the ACPI SCI
  */
@@ -335,6 +338,7 @@ acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger)
        acpi_sci_override_gsi = gsi;
        return;
 }
+#endif
 
 static int __init
 acpi_parse_int_src_ovr (
@@ -349,11 +353,13 @@ acpi_parse_int_src_ovr (
 
        acpi_table_print_madt_entry(header);
 
+#ifdef CONFIG_ACPI_INTERPRETER
        if (intsrc->bus_irq == acpi_fadt.sci_int) {
                acpi_sci_ioapic_setup(intsrc->global_irq,
                        intsrc->flags.polarity, intsrc->flags.trigger);
                return 0;
        }
+#endif
 
        if (acpi_skip_timer_override &&
                intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
@@ -698,7 +704,7 @@ acpi_parse_madt_lapic_entries(void)
 }
 #endif /* CONFIG_X86_LOCAL_APIC */
 
-#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER)
+#if defined(CONFIG_X86_IO_APIC) /*&& defined(CONFIG_ACPI_INTERPRETER)*/
 /*
  * Parse IOAPIC related entries in MADT
  * returns 0 on success, < 0 on error
@@ -744,12 +750,14 @@ acpi_parse_madt_ioapic_entries(void)
                return count;
        }
 
+#ifdef CONFIG_ACPI_INTERPRETER
        /*
         * If BIOS did not supply an INT_SRC_OVR for the SCI
         * pretend we got one so we can set the SCI flags.
         */
        if (!acpi_sci_override_gsi)
                acpi_sci_ioapic_setup(acpi_fadt.sci_int, 0, 0);
+#endif
 
        /* Fill in identity legacy mapings where no override */
        mp_config_acpi_legacy_irqs();
@@ -856,10 +864,6 @@ acpi_boot_table_init(void)
                return error;
        }
 
-#if 0 /*def __i386__*/
-       check_acpi_pci();
-#endif
-
        acpi_table_parse(ACPI_BOOT, acpi_parse_sbf);
 
        /*